/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.misena.praxispraktik.recursos;

import com.misena.praxispraktik.entity.Instructores;
import com.misena.praxispraktik.entity.Seguimientos;
import com.misena.praxispraktik.entity.Seguimientos_;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.ParameterExpression;
import javax.persistence.criteria.Root;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import org.primefaces.json.JSONArray;

/**
 *
 * @author Avila
 */
@Stateless
@Path("/consulseguimientoidinst")
public class ConsulSeguimientoIdInst {  
    
    Seguimientos seguimientos;
    EntityManagerFactory emf = null;
    EntityManager em = null;

    @GET
    @Produces("application/json")
    public Seguimientos consultar(@QueryParam("idInstructores") Integer idInstructores) {
        try {
            emf = obtenerEntityManagerFactory();
            em = obtenerEntityManager(emf);
            
            Instructores instructor;
            instructor = em.find(Instructores.class, idInstructores);
            
            //CriteriaQuery<Usuarios> criteria = build.createQuery( Usuarios.class );
             CriteriaQuery criteria =em.getCriteriaBuilder().createQuery();
             Root<Seguimientos> seguimientosRoot = criteria.from( Seguimientos.class );
             criteria.select( seguimientosRoot );
             ParameterExpression<Instructores> IdInstructores = em.getCriteriaBuilder().parameter( Instructores.class );
             criteria.where( em.getCriteriaBuilder().equal( seguimientosRoot.get( Seguimientos_.idInstructores), IdInstructores ));
             TypedQuery<Seguimientos> query = em.createQuery( criteria );
             query.setParameter( IdInstructores, instructor);
             seguimientos = query.getSingleResult();
            
             List mybeanList = new ArrayList();
             mybeanList.add("S");
             mybeanList.add("b");

             /*JSONArray jsonA = JSONArray.fromObject(mybeanList);
             System.out.println(jsonA);*/
             
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            em.close();
            emf.close();
        }
        return seguimientos;
    }
    
    
    
     public EntityManagerFactory obtenerEntityManagerFactory() {

        return Persistence.createEntityManagerFactory("PraxisPraktikPU");
    }

    public EntityManager obtenerEntityManager(EntityManagerFactory emf) {

        return emf.createEntityManager();
    }
    
}
